mcpField
P
postplus-workspace

postplus-workspace

github.com/postplusaiMarketing & growth27356 installsUpdated 1d ago
Repository

About postplus-workspace

postplus-workspace is a skill for organizing PostPlus project context and campaign work in a durable workspace. It helps teams resume work while separating confirmed facts, approved claims, and hypotheses, with explicit gates for consequential actions.

Key features

  1. 01Initialize project workspaces and campaigns
  2. 02Resume work from recorded state
  3. 03Keep facts, claims, and hypotheses distinct
  4. 04Check readiness by workflow stage
  5. 05Require approval for consequential actions

Use cases

  1. 01Start a PostPlus project folder
  2. 02Continue an existing campaign
  3. 03Check blockers before a launch
  4. 04Record performance findings and next steps

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/postplusai/postplus-skills --skill postplus-workspace

After installing, type/postplus-workspacein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

assets/project-template/
AGENTS.md
assets.md
audience.md
brand.md
hooks.md
persona.md
product.md
project.yaml
assets/project-template/campaign-template/
campaign.md
creative-strategy.md
production-brief.md
results.md
test-plan.md
references/
context-schema.md
stage-gates.md
uncertainty-policy.md
scripts/
workspace.py

Details

From the project README

PostPlus Workspace

Turn one resolved project folder into the durable context and control surface for repeated PostPlus work. Reuse confirmed brand, product, persona, and campaign facts; do not require workspace setup for a one-off task. Read only task-relevant facts, keep approved claims distinct from ideas, and change them only in scope. This skill owns workspace orchestration. Specialist PostPlus skills own domain judgment. The current PostPlus CLI and server own schemas, validation, cost, permissions, and provider execution.

Core Contract

  1. Read the workspace before acting.
  2. Keep confirmed facts, approved claims, research findings, hypotheses, defaults, unknowns, and forbidden content distinct.
  3. Never invent product facts, prices, offers, identities, references, permissions, approvals, or results.
  4. Ask only when missing or conflicting information changes truth, strategy, identity, execution, compliance, spend, or publishing.
  5. Make reversible low-risk production choices without asking.
  6. Discover current PostPlus capabilities by catalog and CLI schema instead of maintaining a hard-coded skill inventory.
  7. Require explicit approval before changing approved truth, approving a test plan, spending credits, launching, publishing, or changing live ads.
  8. Return durable results and decisions to the workspace.

Route

RequestRoute
Start a PostPlus project folderInitialize workspace
Start a campaign or test cycleInitialize campaign
Continue an existing projectResume workspace
Diagnose missing contextCheck the requested stage
Research, strategy, testing, or productionRead stage context, then route to the current specialist skill
Quote, launch, publish, or change spendValidate with the current CLI, then obtain explicit approval
Analyze performanceRecord observations, conclusions, scope, and next hypothesis

Initialize Workspace

  1. Resolve the exact target folder and inspect existing files.
  2. Run postplus doctor --skill postplus-workspace --json. Follow its concrete action if Python 3 is missing; if no executable action is supplied, report the dependency and affected task and stop. Do not guess a package manager, install command, or administrator permission.
  3. Resolve this installed skill directory and run:
<python-3-command> <skill-directory>/scripts/workspace.py init \
  --target <folder> --project "<project name>" \
  [--brand "<brand>"] [--product "<product>"] \
  [--market "<market>"] [--platform "<platform>"] \
  --output <folder>/.postplus/workspace-init.json

Pass only user-supplied or reliably sourced values. The entrypoint creates missing files only and rejects filesystem roots, the user home directory, and installed skill directories.

Read existing source materials, fill only confirmed information, preserve UNKNOWN, then run the onboarding check.

Initialize Campaign

Run:

<python-3-command> <skill-directory>/scripts/workspace.py new-campaign \
  --target <workspace> --name "<campaign name>" [--slug <campaign-slug>] \
  --output <workspace>/.postplus/campaign-init.json

Fill the objective, market, platform, offer, CTA, KPI, constraints, and approval state. Set current_campaign in project.yaml only after confirming the intended campaign.

Resume And Execute

  1. Find the nearest project.yaml at or above the working directory.
  2. Read the nearest applicable AGENTS.md, then project.yaml.
  3. Read only the stage context listed in context-schema.md.
  4. Run the workspace stage check before high-impact execution.
  5. Read the selected specialist skill completely.
  6. Read current CLI help or schema only when the selected skill leaves a required argument unclear.
  7. Continue from recorded state instead of recreating prior work.

If no workspace exists, offer initialization. Do not scatter project files into an unrelated folder.

Stage Rules

Follow stage-gates.md for onboarding, research, strategy, test, production, launch, and learning requirements. The bundled checker validates workspace files only; current quotes, provider validation, permissions, accounts, and live state remain authoritative at the CLI or server boundary.

Read uncertainty-policy.md when information is missing, conflicting, or a repair could change meaning.

Check Workspace

<python-3-command> <skill-directory>/scripts/workspace.py check \
  --target <workspace> \
  --stage <onboarding|research|strategy|test|production|launch|learn> \
  [--campaign <campaign-slug>] \
  --output <workspace>/.postplus/stage-check.json

Treat BLOCKED as a stop for the affected stage. A local READY result does not replace current CLI validation, credit checks, or launch approval.

Status

End substantive tasks with:

STAGE: <stage>
STATUS: READY | BLOCKED | NEEDS_APPROVAL | COMPLETED
INPUTS READ: <sources>
BLOCKERS: <none or exact blockers>
OUTPUTS: <created or updated artifacts>
NEXT: <one next action>

Workspace and campaign templates are in assets/project-template/. The commands above use the non-destructive scripts/workspace.py entrypoint.

Comments

Markdown supported