agentleFS
jamesyang124jamesyang124/agent-skills/skills/tech-plan-to-wiki/SKILL.md

tech-plan-to-wiki

Skill2 starsChanged 13 days agoMITView on GitHub

Reads local spec-kit artifacts (spec.md, plan.md, requirements.md) and publishes a collaborative design review page to Confluence. Use when at the Plan→Review transition in the spec-kit native SDD workflow to share your technical plan with the team.

  • Reads credentials

The file

Show its rules and text

We split this skill into the rules it gives an agent

28 rules. About 0 are common, 19 are distinctive, and 9 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈19

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 9

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    All published pages must follow the template at: references/design-review-template.md (relative to this skill's folder)

    line 22
  2. Very specific:

    Use the template as the structural skeleton.

    line 25
  3. Distinctive:

    All optional — anything not passed is asked for.

    line 29
  4. Distinctive:

    No page ID → create mode. Save the returned page ID for re-runs, otherwise a duplicate page is created.

    line 36
  5. Distinctive:

    Before using this skill, ensure:

    line 44
  6. Distinctive:

    If the MCP server is not configured, guide the user to run:

    line 53
  7. Very specific:

    If a source file is missing, populate the section with [TODO — source file not found] and note which file was absent.

    line 68
  8. Distinctive:

    If multiple sets are found, present them to the user and ask which feature to publish.

    line 77
  9. Distinctive:

    If none are found, ask the user to provide the path to the {configured SDD tool} project directory.

    line 78
  10. Distinctive:

    Read all found files in full before proceeding.

    line 79
  11. Distinctive:

    If no clear title is found, ask the user: "What should we call this feature on the Confluence page?"

    line 84
  12. Very specific:

    Search for an existing page with title matching "Technical Plan: [feature-name]" using mcp__atlassian__confluence_search.

    line 100
  13. Very specific:

    If the user provided a page ID, retrieve it directly with mcp__atlassian__confluence_get_page.

    line 101
  14. Distinctive:

    If a match is found, confirm with the user: this will be an update run.

    line 102
  15. Distinctive:

    If no match is found, this will be a create run.

    line 103
  16. Distinctive:

    Before publishing, present a summary:

    line 107
  17. Very specific:

    Use mcp__atlassian__confluence_create_page to create the page.

    line 137
  18. Distinctive:

    Default placement: under the user's chosen parent page or space root.

    line 138
  19. Very specific:

    Use mcp__atlassian__confluence_update_page to replace content with the new version.

    line 144
  20. Distinctive:

    Do NOT change the Status unless user explicitly requests it.

    line 146
  21. Distinctive:

    If ambiguous, ask: "Is this a first publish or an update to an existing page?"

    line 172
  22. Distinctive:

    Under Review: Update manually (or ask user) when team review begins.

    line 183
  23. Distinctive:

    Approved (v1): Update when team reaches consensus and plan is finalized.

    line 184
  24. Very specific:

    After Approved (v1), the plan is ready for /tech-plan-to-ticket.

    line 185
  25. Very specific:

    Never invent content: If a section cannot be populated from the source files, use [TODO] with an explanation.

    line 256
  26. Distinctive:

    Source of truth notice is mandatory: Always include the footer notice from the template.

    line 257
  27. Distinctive:

    Page ID reminder: Always remind the user to save the page ID on first publish.

    line 258
  28. Distinctive:

    Don't change the status silently: Only update the Status field if the user explicitly requests it.

    line 260

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Tech Plan to Wiki

Install this skill

npx skills add jamesyang124/agent-skills --skill tech-plan-to-wiki -g

This skill bridges the Plan and Review phases of the spec-kit native SDD workflow. It reads spec-kit's local output files and publishes a structured design review page to Confluence, giving the team a shared surface to read, comment, and give feedback — without ever editing the source files directly.

Key principle: plan.md and requirements.md are the source of truth. The Confluence page is a shared view for team review only. Team feedback never goes directly into Confluence — it flows back to the lead RD who refines the local spec-kit files, then re-publishes with this skill.

Design Review Template (MANDATORY)

All published pages must follow the template at: references/design-review-template.md (relative to this skill's folder)

Use the template as the structural skeleton. Populate each section from the spec-kit artifacts. Use [TODO] for gaps — never invent content.

Arguments

All optional — anything not passed is asked for.

Token shapeInterpreted as
all digitsConfluence page ID → update that page instead of creating one
anything elseSDD feature directory holding spec.md / plan.md / requirements.md

No page ID → create mode. Save the returned page ID for re-runs, otherwise a duplicate page is created.


Prerequisites

IMPORTANT: This skill requires the Atlassian MCP Server to be installed and configured.

Before using this skill, ensure:

  1. ✅ Atlassian MCP server is installed (see the install-atlassian-mcp skill)
  2. ✅ Credentials are configured in ~/.env.mcp-atlassian
  3. ✅ The following MCP tools are available:
    • mcp__atlassian__confluence_get_page
    • mcp__atlassian__confluence_search
    • mcp__atlassian__confluence_create_page
    • mcp__atlassian__confluence_update_page

If the MCP server is not configured, guide the user to run:

install-atlassian-mcp skill (run it in your agent)

Artifact → Page Section Mapping

Page SectionPrimary SourceSecondary Source
Context & Problemspec.md—
Technical Proposalplan.md—
Requirementsrequirements.mdspec.md
Design Considerationsplan.md (alternatives/options sections)—
Open Questionsplan.md open items / TBDsspec.md TBDs

If a source file is missing, populate the section with [TODO — source file not found] and note which file was absent.

Process

Before proceeding: Check docs/agents/sdd.md for the SDD tool and use its name (e.g., spec-kit or openspec) in all user-facing messages and artifact location hints. Fall back to spec-kit if the file does not exist. Take the default Confluence space and parent page from docs/agents/atlassian.md when present; otherwise ask.

Step 1: Locate SDD Artifacts

  • Scan the current working directory (and one level up) for spec.md, plan.md, requirements.md.
  • If multiple sets are found, present them to the user and ask which feature to publish.
  • If none are found, ask the user to provide the path to the {configured SDD tool} project directory.
  • Read all found files in full before proceeding.

Step 2: Extract Feature Name

  • Derive the feature name from the first heading in spec.md or plan.md.
  • If no clear title is found, ask the user: "What should we call this feature on the Confluence page?"

Step 3: Map Content to Page Sections

Using the artifact mapping above, populate each section of the design review template:

  1. Context & Problem — Extract the "why" from spec.md: problem statement, background, motivation.
  2. Technical Proposal — Extract the "what and how" from plan.md: proposed solution, key decisions, approach.
  3. Requirements — Extract functional and non-functional requirements from requirements.md; supplement with any requirements listed in spec.md.
  4. Design Considerations — Extract any alternatives, trade-offs, or design options noted in plan.md.
  5. Open Questions — Collect unresolved items, TBDs, and questions from both plan.md and spec.md.

Do not invent or fill in content beyond what the source files contain. Use [TODO] clearly for missing sections and explain why (e.g., [TODO — no alternatives section found in plan.md]).

Step 4: Check for Existing Confluence Page

  • Search for an existing page with title matching "Technical Plan: [feature-name]" using mcp__atlassian__confluence_search.
  • If the user provided a page ID, retrieve it directly with mcp__atlassian__confluence_get_page.
  • If a match is found, confirm with the user: this will be an update run.
  • If no match is found, this will be a create run.

Step 5: Confirm with User

Before publishing, present a summary:

I've read the SDD artifacts and mapped them to a design review page.

Feature: [Feature Name]
Source files found:
  ✅ spec.md        (last modified: [date])
  ✅ plan.md        (last modified: [date])
  ✅ requirements.md (last modified: [date])

Page sections:
  ✅ Context & Problem    — from spec.md
  ✅ Technical Proposal   — from plan.md
  ✅ Requirements         — from requirements.md
  ⚠️  Design Considerations — [TODO: no alternatives section in plan.md]
  ✅ Open Questions       — from plan.md

Target Confluence location:
  - Action: [Create new page | Update existing page (ID: XXXXXXXXX)]
  - Space: [space key]
  - Parent page: [parent page title or ID]
  - Page title: "Technical Plan: [Feature Name]"

Shall I publish? (Type y to proceed, n/skip to cancel, or describe any adjustments to make first.)

Step 6: Publish to Confluence

Create (first run):

  • Use mcp__atlassian__confluence_create_page to create the page.
  • Default placement: under the user's chosen parent page or space root.
  • Set initial Status to Draft.
  • Append the "source of truth" notice footer (from the template) directing reviewers to comment rather than edit.

Update (re-run):

  • Retrieve existing page with mcp__atlassian__confluence_get_page to get current version.
  • Use mcp__atlassian__confluence_update_page to replace content with the new version.
  • Append a new row to the Revision History table with today's date, version bump, and a brief change summary.
  • Do NOT change the Status unless user explicitly requests it.

Step 7: Report and Remind

After successful publish:

✅ Design review page published:
https://your-org.atlassian.net/wiki/spaces/ENG/pages/XXXXXXXXX

Status: Draft
Next steps:
  1. Share the link with your team for review.
  2. Collect feedback as Confluence comments (not direct page edits).
  3. Take feedback → refine plan.md and requirements.md in spec-kit.
  4. Re-run /tech-plan-to-wiki to publish the updated version.
  5. Repeat until team reaches consensus and status is Approved (v1).

📌 Save your page ID for future re-runs: XXXXXXXXX
   You can pass it directly next time: /tech-plan-to-wiki [page-id]

Operation Mode Detection

  • Creating new page: User says "create", "publish", "share my plan", or provides no page ID.
  • Updating existing page: User provides a numeric page ID, or says "update", "re-publish", "push updates".
  • If ambiguous, ask: "Is this a first publish or an update to an existing page?"

Status Field Progression

The Status field on the page progresses through:

Draft  →  Under Review  →  Approved (v1)
  • Draft: Set automatically on first publish.
  • Under Review: Update manually (or ask user) when team review begins.
  • Approved (v1): Update when team reaches consensus and plan is finalized.
    • After Approved (v1), the plan is ready for /tech-plan-to-ticket.

Handling Missing Files

ScenarioBehavior
spec.md missingContext & Problem section → [TODO — spec.md not found]. Ask user if they want to provide a path.
plan.md missingTechnical Proposal + Design Considerations → [TODO — plan.md not found]. Warn: this is the primary source.
requirements.md missingRequirements section → attempt to derive from spec.md; if insufficient → [TODO — requirements.md not found].
All files missingStop. Ask user to provide the {configured SDD tool} project directory path.

Workflow Integration

This skill sits at the Plan → Review boundary in the spec-kit native workflow:

[{configured SDD tool} plan]
    plan.md + requirements.md  (local source of truth)
         │
         ▼
[tech-plan-to-wiki]  ← YOU ARE HERE
    Reads local files → Maps to design review page → Publishes to Confluence
         │
         ▼
[Team Review Loop]
    Team reviews Confluence → Comments → RD refines {configured SDD tool} files → /tech-plan-to-wiki again
         │
         ▼ (consensus reached)
[Plan Finalized — Approved (v1)]
         │
         ▼
[tech-plan-to-ticket]
    Design review page → Jira root ticket + subtasks

Workflow Example

User: "Publish my plan to Confluence for team review"

Agent:

  1. Scans cwd, finds spec.md, plan.md, requirements.md.
  2. Reads all three files.
  3. Extracts feature name: "Notification Service Refactor".
  4. Maps content: Context from spec.md, Proposal from plan.md, Requirements from requirements.md. Notes no alternatives section in plan.md (marks Design Considerations as TODO).
  5. Searches Confluence for "Technical Plan: Notification Service Refactor" — no results.
  6. Presents summary to user, confirms create.
  7. Creates Confluence page titled "Technical Plan: Notification Service Refactor".
  8. Reports:
    ✅ Design review page published:
    https://your-org.atlassian.net/wiki/spaces/ENG/pages/987654321
    
    Status: Draft
    
    📌 Save your page ID: 987654321
       Next time you can run: /tech-plan-to-wiki 987654321

Later — After team feedback:

User: "/tech-plan-to-wiki 987654321"

Agent:

  1. Reads updated plan.md (RD has incorporated team feedback).
  2. Retrieves existing page 987654321.
  3. Re-maps content with new material.
  4. Updates page, appends Revision History row: v2 | 2026-03-03 | [author] | Incorporated team feedback on retry strategy.
  5. Reports updated URL.

Tips for the Agent

  • Never invent content: If a section cannot be populated from the source files, use [TODO] with an explanation. This preserves trust in the page as a direct reflection of local files.
  • Source of truth notice is mandatory: Always include the footer notice from the template. This prevents team members from editing the Confluence page directly.
  • Page ID reminder: Always remind the user to save the page ID on first publish. Re-runs without a page ID will create duplicates.
  • Revision history matters: On updates, always append to the revision history table so reviewers can track what changed between versions.
  • Don't change the status silently: Only update the Status field if the user explicitly requests it.
  • Link back to source: In the page footer or metadata, note which {configured SDD tool} directory the content came from (if available) so the team knows where the local files live.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.