Skip to content

Initialize AMRIT AI Agentic Framework with SDLC skills and release - #1

Open
Somsubhra-Nandi wants to merge 31 commits into
mainfrom
feature/skill-distribution
Open

Initialize AMRIT AI Agentic Framework with SDLC skills and release #1
Somsubhra-Nandi wants to merge 31 commits into
mainfrom
feature/skill-distribution

Conversation

@Somsubhra-Nandi

@Somsubhra-Nandi Somsubhra-Nandi commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Description

JIRA ID: N/A

This PR initializes the AMRIT AI Agentic Framework repository and adds the first set of reusable SDLC skills.

Since the target main branch is currently empty, this PR establishes the initial repository structure, documentation, validation, packaging, and release workflow.

Included in this PR

  • Added the initial SDLC skills:
    • create-brd
    • create-product-backlog
    • create-technical-design
  • Added project-scoped Claude Code discovery through .claude/skills/
  • Kept the complete skill implementations under skills/ as the canonical source
  • Added references, examples, templates, and skill-specific documentation
  • Added deterministic ZIP packaging for Claude Desktop distribution
  • Added validation for skill manifests and project mappings
  • Added automated tests for packaging and validation behavior
  • Added GitHub Actions workflows for:
    • pull request and main branch validation
    • package generation
    • temporary workflow artifacts
    • tag-based GitHub Releases
  • Removed committed generated ZIP files
  • Removed the previous manual installation and packaging flow
  • Updated the repository README with usage, development, packaging, and download instructions

Motivation

The goal is to provide a maintainable and reusable framework for SDLC workflows that can be used through Claude Code, Claude Desktop, and extended later for other agentic development tools.

Generated skill packages are no longer stored in Git. They are built automatically and published as GitHub Release assets.


Type of Change

  • Bug fix (non-breaking change which resolves an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (change that is neither a fix nor a new feature)
  • Config change (configuration file or build script updates)
  • Documentation (updates to docs or readme)
  • Tests (adding new or updating existing tests)
  • UI/UX (changes that affect the user interface)
  • Performance (improves performance)
  • Chore (miscellaneous changes that don't modify src or test files)

Additional Information

The implementation was tested locally using:

python scripts\validate-skills.py
python scripts\package-skills.py --all
python -m unittest discover -s tests -v

Results:

  • All 3 skills validated successfully
  • All 3 ZIP packages were generated successfully
  • ZIP contents were verified to contain one correctly named top-level skill directory
  • All 9 automated tests passed

The GitHub Actions workflows were also verified in a temporary private repository:

  • A push to main successfully generated downloadable workflow artifacts
  • A v* tag successfully created a GitHub Release
  • The Release contained the following skill packages:
  • create-brd.zip
  • create-product-backlog.zip
  • create-technical-design.zip

The generated ZIP packages were also verified for Claude Desktop-compatible structure.

Summary by CodeRabbit

  • New Features

    • Added four reusable skills for business requirements, product backlogs, technical designs, and codebase questions.
    • Added evidence tracking, traceability, review gates, and publication safeguards.
    • Added sample inputs, outputs, templates, and practical guidance.
  • Documentation

    • Added lifecycle mapping, installation instructions, repository guidance, and licensing information.
  • Chores

    • Added automated validation and deterministic packaging for skill distribution.
    • Added integrations for supported coding assistants and MCP tools.
  • Tests

    • Added coverage for packaging, validation, mappings, and deterministic output.

Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
…dd evidence-driven Confluence search refinement,add BRD requirement traceability and confidence fields,preserve read-only research and human-review workflow, include independently installable skill documentation and examples

Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
…the product manager receives a brd and creates jira issues,epics and stories

Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
…cal-design skill

Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
…s,currently deepwiki search for the repository intelligence for atchitectural knowledge is not implemented

Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
…AMRIT repositories

Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This change adds four AMRIT lifecycle skills, project bridges, reference material, examples, packaging and validation scripts, distribution documentation, tests, MCP configuration, and GitHub Actions automation. The skills cover BRD creation, product backlog creation, technical design, and codebase questions.

Changes

AMRIT skills framework

Layer / File(s) Summary
Framework entrypoints and lifecycle documentation
.gitignore, LICENSE, README.md, docs/*, .claude/skills/*, .agents/skills/*
Adds repository documentation, licensing, ignore rules, lifecycle mapping, MCP setup guidance, and project bridges for skill discovery.
BRD skill and evidence guidance
skills/create-brd/*
Defines Stage 01/12 BRD drafting, bounded Confluence research, evidence classification, traceability, templates, examples, and human-review controls.
Product backlog skill and Jira controls
skills/create-product-backlog/*
Defines Stage 02 backlog drafting for approved requirements and defects, acceptance criteria, INVEST review, prioritization, defect handling, and gated Jira publication.
Technical design and codebase-question skills
skills/create-technical-design/*, skills/answer-codebase-questions/*
Defines read-only engineering analysis, repository and API research, architecture guidance, technical design examples, and evidence-backed codebase answers.
Packaging, validation, and CI distribution
scripts/*, tests/test_skill_distribution.py, .github/workflows/validate-skills.yml, .mcp.json, .cursor/mcp.json, .agents/mcp_config.json
Adds deterministic ZIP packaging, manifest and bridge validation, archive tests, MCP configurations, CI validation, package checks, and retained skill artifacts.

Estimated code review effort: 5 (Critical) | ~90 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the repository initialization and addition of AMRIT SDLC skills, packaging, and release support.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 11

🧹 Nitpick comments (2)
scripts/validate-skills.py (1)

119-137: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Narrow the blind except Exception to the known packaging error surface.

Catching bare Exception folds genuine PackagingError failures and unexpected programming errors (e.g. from a future refactor of package_skill's interface) into the same generic message, discarding the traceback either way. Narrowing to the documented error types keeps unexpected bugs visible instead of silently reported as "packaging failed."

♻️ Proposed fix
             try:
                 package = packaging.package_skill(
                     repo_root, skill.name, output_directory
                 )
-            except Exception as error:
+            except (packaging.PackagingError, OSError) as error:
                 errors.append(f"Packaging '{skill.name}' failed: {error}")
                 continue
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/validate-skills.py` around lines 119 - 137, Update validate_packaging
to catch only the documented packaging failure exception types raised by
packaging.package_skill, rather than using a broad except Exception. Preserve
the existing error message and continue behavior for those expected failures,
while allowing unexpected programming errors to propagate with their traceback.

Source: Linters/SAST tools

scripts/package-skills.py (1)

13-22: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Consider excluding common secret-bearing filenames from packages.

The exclusion list covers OS/editor/temp/cache artifacts but not files like .env, *.pem, *.key, or similar credential patterns. Since these ZIPs are published as public GitHub Release assets, an accidentally-included secret file would leak publicly with no guard rail. Cheap defense-in-depth given the public distribution channel.

🔒 Example addition
 EXCLUDED_FILE_NAMES = {".DS_Store", "Desktop.ini", "Thumbs.db"}
-EXCLUDED_FILE_SUFFIXES = {".bak", ".pyc", ".pyo", ".temp", ".tmp", ".zip"}
+EXCLUDED_FILE_SUFFIXES = {".bak", ".pyc", ".pyo", ".temp", ".tmp", ".zip", ".env", ".pem", ".key"}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/package-skills.py` around lines 13 - 22, Expand the packaging
exclusions in EXCLUDED_FILE_NAMES and/or EXCLUDED_FILE_SUFFIXES to cover common
secret-bearing files, including .env files and certificate/private-key patterns
such as .pem and .key. Ensure package creation cannot include these credential
artifacts while preserving the existing exclusions.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/release-skills.yml:
- Line 27: Pin every listed GitHub Action to its immutable commit SHA instead of
a mutable version tag: actions/checkout and actions/setup-python in
.github/workflows/release-skills.yml at lines 27 and 45, and actions/checkout,
actions/setup-python, and actions/upload-artifact in
.github/workflows/validate-skills.yml at lines 20, 23, and 50. Preserve each
action’s current version while replacing the tag reference with the
corresponding full commit SHA.

In `@docs/installation.md`:
- Around line 38-56: Update the release links in the “Claude Desktop” section of
docs/installation.md to use ../../../releases/latest and
../../../releases/latest/download/<skill>.zip, correcting the nesting depth
while preserving the existing package targets.

In `@README.md`:
- Around line 128-131: Update the README prerequisite descriptions for
create-brd and create-product-backlog to say each skill requires an Atlassian
MCP connection with the specified Confluence, page-read, and Jira read
capabilities, preserving the existing read-only and optional publication
details.

In `@skills/create-brd/README.md`:
- Line 47: Update the create-brd download link in the README to use the
repository’s canonical release-asset URL with the
/releases/latest/download/create-brd.zip path, replacing the repository-relative
link while preserving the displayed filename.

In `@skills/create-brd/SKILL.md`:
- Around line 19-20: Update the next_skill metadata in the skill definition to
use the canonical downstream skill name create-product-backlog instead of
stage-02-create-jira-backlog, while preserving the existing primary_output
value.

In `@skills/create-product-backlog/examples/sample-defect-output.md`:
- Around line 50-66: Update the Parent instructions for TASK-01 and TASK-02 to
require both approval of the specific backlog version and a separate explicit
request authorizing Jira creation/publication and task linking before any Jira
write occurs; do not use “after approval” alone.

In `@skills/create-product-backlog/examples/sample-feature-output.md`:
- Around line 51-54: Update the second acceptance criterion to apply to every
valid submitted email, including registered, unregistered, and ineligible
addresses. Define that the externally observable response remains
indistinguishable across all three cases, without conditioning the requirement
on the request being accepted.

In `@skills/create-product-backlog/README.md`:
- Around line 48-49: Replace the relative release-download links in
skills/create-product-backlog/README.md (lines 48-49) and
skills/create-technical-design/README.md (lines 56-57) with absolute GitHub
release asset URLs using the repository’s releases/latest/download endpoint for
both release files.

In `@skills/create-technical-design/examples/sample-db-change.md`:
- Line 21: Update the attempted_at definition in the prose and corresponding
DBML schema so both explicitly preserve offset-aware timestamp semantics. If the
database type remains engine-dependent, mark the physical type and timezone
behavior as pending confirmation; otherwise annotate the DBML with the required
timezone semantics.

In `@skills/create-technical-design/examples/sample-design-output.md`:
- Around line 151-157: Update the follow-up timing rule in the sample design to
classify the platform comparison time-zone convention as Unknown or Assumed
rather than confirmed, and explicitly mark the 30-calendar-day boundary behavior
as pending evidence confirmation. Keep the existing rescheduling and version
constraints unchanged.

In `@tests/test_skill_distribution.py`:
- Around line 179-187: Update test_rejects_mapping_to_wrong_source and the
related validation coverage to assert against the bridge’s actual Markdown link
target, not merely a path mentioned in prose. Parse the link from the generated
bridge content, validate that target against the canonical skill, and add a
regression fixture where the bridge links to the wrong skill while mentioning
the expected path as decoy text.

---

Nitpick comments:
In `@scripts/package-skills.py`:
- Around line 13-22: Expand the packaging exclusions in EXCLUDED_FILE_NAMES
and/or EXCLUDED_FILE_SUFFIXES to cover common secret-bearing files, including
.env files and certificate/private-key patterns such as .pem and .key. Ensure
package creation cannot include these credential artifacts while preserving the
existing exclusions.

In `@scripts/validate-skills.py`:
- Around line 119-137: Update validate_packaging to catch only the documented
packaging failure exception types raised by packaging.package_skill, rather than
using a broad except Exception. Preserve the existing error message and continue
behavior for those expected failures, while allowing unexpected programming
errors to propagate with their traceback.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: afbe22b4-5c46-46df-8490-a12378b99486

📥 Commits

Reviewing files that changed from the base of the PR and between 27eb7fa and 4a68802.

📒 Files selected for processing (52)
  • .claude/skills/create-brd/SKILL.md
  • .claude/skills/create-product-backlog/SKILL.md
  • .claude/skills/create-technical-design/SKILL.md
  • .github/workflows/release-skills.yml
  • .github/workflows/validate-skills.yml
  • .gitignore
  • LICENSE
  • README.md
  • docs/installation.md
  • docs/lifecycle-mapping.md
  • scripts/package-skills.py
  • scripts/validate-skills.py
  • skills/create-brd/README.md
  • skills/create-brd/SKILL.md
  • skills/create-brd/examples/sample-input.md
  • skills/create-brd/examples/sample-output.md
  • skills/create-brd/references/amrit-context.md
  • skills/create-brd/references/brd-template.md
  • skills/create-brd/references/brd-writing-guidelines.md
  • skills/create-brd/references/confluence-research-guidelines.md
  • skills/create-brd/references/information-checklist.md
  • skills/create-product-backlog/README.md
  • skills/create-product-backlog/SKILL.md
  • skills/create-product-backlog/examples/sample-defect-input.md
  • skills/create-product-backlog/examples/sample-defect-output.md
  • skills/create-product-backlog/examples/sample-feature-input.md
  • skills/create-product-backlog/examples/sample-feature-output.md
  • skills/create-product-backlog/references/acceptance-criteria-guidelines.md
  • skills/create-product-backlog/references/backlog-structure.md
  • skills/create-product-backlog/references/defect-intake-guidelines.md
  • skills/create-product-backlog/references/information-checklist.md
  • skills/create-product-backlog/references/invest-guidelines.md
  • skills/create-product-backlog/references/jira-publishing-guidelines.md
  • skills/create-product-backlog/references/prioritization-guidelines.md
  • skills/create-technical-design/README.md
  • skills/create-technical-design/SKILL.md
  • skills/create-technical-design/examples/sample-db-change.md
  • skills/create-technical-design/examples/sample-deepwiki-available.md
  • skills/create-technical-design/examples/sample-deepwiki-unavailable.md
  • skills/create-technical-design/examples/sample-design-output.md
  • skills/create-technical-design/examples/sample-no-db-change.md
  • skills/create-technical-design/examples/sample-story-input.md
  • skills/create-technical-design/references/api-design-guidelines.md
  • skills/create-technical-design/references/architecture-review-guidelines.md
  • skills/create-technical-design/references/db-design-guidelines.md
  • skills/create-technical-design/references/deepwiki-research-guidelines.md
  • skills/create-technical-design/references/hld-guidelines.md
  • skills/create-technical-design/references/impact-analysis-guidelines.md
  • skills/create-technical-design/references/lld-guidelines.md
  • skills/create-technical-design/references/repository-catalog.md
  • skills/create-technical-design/references/sequence-diagram-guidelines.md
  • tests/test_skill_distribution.py

Comment thread .github/workflows/release-skills.yml Outdated

steps:
- name: Check out tagged commit
uses: actions/checkout@v6

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

# Expect no output after all workflow actions are SHA-pinned.
rg -n '^\s*uses:\s+[^@]+@v[0-9]+' .github/workflows

Repository: PSMRI/AMRIT-AI-Agentic-Framework

Length of output: 558


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf '--- release-skills.yml relevant content ---\n'
awk 'NR>=1 && NR<=70' .github/workflows/release-skills.yml | cat -n

printf '\n--- validate-skills.yml relevant content ---\n'
awk 'NR>=1 && NR<=70' .github/workflows/validate-skills.yml | cat -n

printf '\n--- all uses references in workflows ---\n'
rg -n '^\s*uses:\s+' .github/workflows

Repository: PSMRI/AMRIT-AI-Agentic-Framework

Length of output: 261


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf '%s\n' '--- release-skills.yml relevant content ---'
awk 'NR>=1 && NR<=90' .github/workflows/release-skills.yml | cat -n

printf '%s\n' ''
printf '%s\n' '--- validate-skills.yml relevant / full workflow actions ---'
awk 'NR>=1 && NR<=90' .github/workflows/validate-skills.yml | cat -n

printf '%s\n' ''
printf '%s\n' '--- workflow permissions and SHA-pin status ---'
rg -n 'permissions:|contents:|pull-requests:|permissions|\buses:\s+[^@]+@[0-9a-fA-F]{40}\b|`@v`[0-9]+' .github/workflows || true

printf '%s\n' ''
printf '%s\n' '--- all uses references in workflows ---'
rg -n '^\s*uses:\s+' .github/workflows

Repository: PSMRI/AMRIT-AI-Agentic-Framework

Length of output: 5865


Pin GitHub Actions to immutable commit SHAs.

The release workflow has contents: write, so mutable @v6 tags for GitHub-released actions create a supply-chain risk if the upstream tags are retargeted.

  • .github/workflows/release-skills.yml#L27-L27: pin actions/checkout.
  • .github/workflows/release-skills.yml#L45-L45: pin actions/setup-python.
  • .github/workflows/validate-skills.yml#L20-L20: pin actions/checkout.
  • .github/workflows/validate-skills.yml#L23-L23: pin actions/setup-python.
  • .github/workflows/validate-skills.yml#L50-L50: pin actions/upload-artifact.
📍 Affects 2 files
  • .github/workflows/release-skills.yml#L27-L27 (this comment)
  • .github/workflows/release-skills.yml#L45-L45
  • .github/workflows/validate-skills.yml#L20-L20
  • .github/workflows/validate-skills.yml#L23-L23
  • .github/workflows/validate-skills.yml#L50-L50
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/release-skills.yml at line 27, Pin every listed GitHub
Action to its immutable commit SHA instead of a mutable version tag:
actions/checkout and actions/setup-python in
.github/workflows/release-skills.yml at lines 27 and 45, and actions/checkout,
actions/setup-python, and actions/upload-artifact in
.github/workflows/validate-skills.yml at lines 20, 23, and 50. Preserve each
action’s current version while replacing the tag reference with the
corresponding full commit SHA.

Comment thread docs/installation.md Outdated
Comment on lines +38 to +56
## Claude Desktop

[Download the latest skill packages](../../releases/latest)

Install one package:

1. Open the repository's latest GitHub Release.
2. Download the ZIP for the desired skill.
3. Open Claude Desktop.
4. Open the skill interface and upload the ZIP.
5. Confirm that the skill appears and its required MCP connections are
available.

Direct release assets:

- [Create BRD](../../releases/latest/download/create-brd.zip)
- [Create Product Backlog](../../releases/latest/download/create-product-backlog.zip)
- [Create Technical Design](../../releases/latest/download/create-technical-design.zip)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -eu

echo "== file location and relevant lines =="
if [ -f docs/installation.md ]; then
  nl -ba docs/installation.md | sed -n '1,80p'
else
  echo "docs/installation.md not found"
fi

echo
echo "== docs/installation link depth references =="
python3 - <<'PY'
from pathlib import Path
p = Path("docs/installation.md")
text = p.read_text()
for i, line in enumerate(text.splitlines(), 1):
    if "../../releases" in line or "../../../releases" in line:
        print(f"{p}:{i}: {line.strip()}")
PY

echo
echo "== repository branch context =="
git rev-parse --abbrev-ref HEAD 2>/dev/null || true
git ls-files | sed -n '1,80p'

echo
echo "== read-only URL path resolution probe for markdown relative links =="
python3 - <<'PY'
# Simulate GitHub markdown resolution as described: paths after links resolve
# relative to the document URL path when fetched from the /blob/<branch>/ path.
file_path = "docs/installation.md"
base = f"/owner/repo/blob/main/{file_path}"
for rel in ["../../releases/latest", "../../releases/latest/download/create-brd.zip", "../../../releases/latest"]:
    # naive relative-resolution demonstration, excluding special segments not in these links
    parts = base.split("/")
    for segment in rel.split("/"):
        if segment == "":
            continue
        if segment == "..":
            if len(parts) > 1:
                parts.pop()
        else:
            parts.append(segment)
    print(rel, "=>", "/".join(parts))
PY

echo
echo "== any existing release link conventions in repo =="
rg -n 'releases/latest|releases/latest/download|Download the latest skill packages|releases/download' -S . || true

Repository: PSMRI/AMRIT-AI-Agentic-Framework

Length of output: 4990


🌐 Web query:

GitHub Markdown relative URLs resolve links docs blob branch README relative references

💡 Result:

GitHub automatically handles relative links in Markdown files, allowing you to link to other files, directories, or images within your repository without needing absolute URLs [1][2]. This ensures that your documentation remains functional both when viewed on GitHub and when cloned locally [1][3]. Key behaviors for relative links include: Relative to Current File: By default, links are relative to the current file [1][2]. For example, a link to docs/CONTRIBUTING.md in a README file located at the repository root will resolve correctly [1][2]. You can use standard relative path operands such as ./ (current directory) and ../ (parent directory) [1][2]. Relative to Root: Links starting with a forward slash / are treated as relative to the repository root [1][2]. This is useful for consistently referencing files regardless of where the linking file is located in the directory structure [4]. Automatic Transformation: GitHub automatically transforms these relative links based on your current branch or context, ensuring they point to the correct blob path on the repository [1][2][3]. This mechanism is specific to GitHub's web interface and is not part of the standard Markdown or CommonMark specification [5]. Best Practices: - Use relative links instead of absolute URLs to ensure your documentation remains portable for users who clone the repository [1][2]. - For images, use relative links to ensure they display correctly in rendered Markdown files [1][6]. - Ensure link text is kept on a single line; multi-line link definitions may not render as expected [1][2]. When viewing a repository, GitHub translates these relative paths into the necessary URLs (e.g., user/repo/blob/branch/file.md) to resolve the destination correctly [4][3]. Note that behavior may vary slightly depending on whether you are viewing the rendered README on the repository landing page versus an individual file view, though GitHub generally manages these redirections automatically [7].

Citations:


Adjust the release links to account for docs/installation.md’s nesting depth.

From docs/, ../../releases/latest still goes one directory too shallow and resolves under the rendered /blob/<branch>/ path. Use ../../../releases/latest for the package download link and ../../../releases/latest/download/<skill>.zip for the direct asset links.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/installation.md` around lines 38 - 56, Update the release links in the
“Claude Desktop” section of docs/installation.md to use ../../../releases/latest
and ../../../releases/latest/download/<skill>.zip, correcting the nesting depth
while preserving the existing package targets.

Comment thread README.md
Comment on lines +128 to +131
- `create-brd` requires connected Atlassian MCP Confluence search and page-read
capabilities. Confluence is read-only by default.
- `create-product-backlog` requires connected Atlassian MCP Confluence and Jira
read capabilities. Jira publication is optional and requires approval of the

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Clarify the MCP connection prerequisite.

“Requires connected” is ambiguous. Use “requires an Atlassian MCP connection with … capabilities” for both skills.

Proposed fix
-- `create-brd` requires connected Atlassian MCP Confluence search and page-read
+- `create-brd` requires an Atlassian MCP connection with Confluence search and page-read
  capabilities. Confluence is read-only by default.
-- `create-product-backlog` requires connected Atlassian MCP Confluence and Jira
+- `create-product-backlog` requires an Atlassian MCP connection with Confluence and Jira
  read capabilities.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- `create-brd` requires connected Atlassian MCP Confluence search and page-read
capabilities. Confluence is read-only by default.
- `create-product-backlog` requires connected Atlassian MCP Confluence and Jira
read capabilities. Jira publication is optional and requires approval of the
- `create-brd` requires an Atlassian MCP connection with Confluence search and page-read
capabilities. Confluence is read-only by default.
- `create-product-backlog` requires an Atlassian MCP connection with Confluence and Jira
read capabilities. Jira publication is optional and requires approval of the
🧰 Tools
🪛 LanguageTool

[style] ~128-~128: The double modal “requires connected” is nonstandard (only accepted in certain dialects). Consider “to be connected”.
Context: ...s, or secrets. - create-brd requires connected Atlassian MCP Confluence search and pag...

(NEEDS_FIXED)


[style] ~130-~130: The double modal “requires connected” is nonstandard (only accepted in certain dialects). Consider “to be connected”.
Context: ...lt. - create-product-backlog requires connected Atlassian MCP Confluence and Jira rea...

(NEEDS_FIXED)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 128 - 131, Update the README prerequisite
descriptions for create-brd and create-product-backlog to say each skill
requires an Atlassian MCP connection with the specified Confluence, page-read,
and Jira read capabilities, preserving the existing read-only and optional
publication details.

Source: Linters/SAST tools

Comment thread skills/create-brd/README.md Outdated
## Use and distribution

Invoke `/create-brd` in Claude Code from the repository root. Claude Desktop
users can download [create-brd.zip](../../releases/latest/download/create-brd.zip).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Use a valid release-asset URL.

../../releases/latest/download/create-brd.zip resolves as a repository-relative path from skills/create-brd/README.md, not as a GitHub release asset URL. The advertised Claude Desktop download link will therefore fail. Use the repository’s canonical /releases/latest/download/create-brd.zip URL.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/create-brd/README.md` at line 47, Update the create-brd download link
in the README to use the repository’s canonical release-asset URL with the
/releases/latest/download/create-brd.zip path, replacing the repository-relative
link while preserving the displayed filename.

Comment on lines +19 to +20
primary_output: AMRIT BRD in Markdown — Draft — Pending Human Review
next_skill: stage-02-create-jira-backlog

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Align next_skill with the canonical skill name.

next_skill is set to stage-02-create-jira-backlog, but the repository’s downstream skill is create-product-backlog (/create-product-backlog). Consumers following this metadata may fail to resolve the next stage.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/create-brd/SKILL.md` around lines 19 - 20, Update the next_skill
metadata in the skill definition to use the canonical downstream skill name
create-product-backlog instead of stage-02-create-jira-backlog, while preserving
the existing primary_output value.

Comment on lines +51 to +54
Acceptance criteria:

1. Given an eligible active account has the submitted registered email, when a reset is requested, then the system sends a single-use reset link to that email.
2. Given any email is submitted, when the request is accepted, then the response does not disclose whether the email is registered.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Make the anti-enumeration acceptance criterion cover all valid email inputs.

Conditioning the requirement on “when the request is accepted” leaves unregistered or ineligible addresses outside the testable guarantee, potentially allowing status disclosure through rejection behavior. Specify the externally indistinguishable response for registered, unregistered, and ineligible valid addresses.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/create-product-backlog/examples/sample-feature-output.md` around lines
51 - 54, Update the second acceptance criterion to apply to every valid
submitted email, including registered, unregistered, and ineligible addresses.
Define that the externally observable response remains indistinguishable across
all three cases, without conditioning the requirement on the request being
accepted.

Comment thread skills/create-product-backlog/README.md Outdated
| `referral_id` | Required foreign key | Keep referral as aggregate owner | Additive |
| `attempt_number` | Required positive integer | Stable ordering within referral | Additive |
| `outcome_code` | Required bounded code | Avoid free-text outcome semantics | Additive |
| `attempted_at` | Required offset-aware timestamp | Preserve event time | Additive |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

Keep the timestamp contract consistent between prose and DBML.

Line [21] requires an offset-aware attempted_at, but the DBML at Line [48] only specifies timestamp. Mark the physical type/timezone semantics as pending database-engine confirmation or annotate the DBML explicitly so implementers cannot silently lose timezone information.

Also applies to: 43-50

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/create-technical-design/examples/sample-db-change.md` at line 21,
Update the attempted_at definition in the prose and corresponding DBML schema so
both explicitly preserve offset-aware timestamp semantics. If the database type
remains engine-dependent, mark the physical type and timezone behavior as
pending confirmation; otherwise annotate the DBML with the required timezone
semantics.

Comment on lines +151 to +157
- A non-null follow-up must be later than consultation completion.
- A non-null follow-up must be no later than 30 calendar days after completion, using the confirmed platform time-zone convention.
- Completed or cancelled cases reject rescheduling.
- Clearing is allowed only for a pending follow-up and an authorized actor.
- The request version must match the current case version.

**Open evidence gap:** The platform's authoritative comparison time zone was not included in the sample evidence and materially affects boundary behavior.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Do not classify the timezone convention as confirmed before it is evidenced.

Line [152] says the 30-day rule uses a confirmed platform timezone, but Line [157] says that timezone is an open evidence gap. Classify the convention as Unknown/Assumed and phrase the rule as pending confirmation; this boundary directly affects acceptance behavior.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/create-technical-design/examples/sample-design-output.md` around lines
151 - 157, Update the follow-up timing rule in the sample design to classify the
platform comparison time-zone convention as Unknown or Assumed rather than
confirmed, and explicitly mark the 30-calendar-day boundary behavior as pending
evidence confirmation. Keep the existing rescheduling and version constraints
unchanged.

Comment thread tests/test_skill_distribution.py Outdated
Comment thread docs/installation.md Outdated

The repository supports two primary audiences:

- **Claude Code developers** use the committed project skills immediately

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure Claude, we can extend to others.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. Will fix it.

Comment thread docs/installation.md Outdated
Create and push a tag following the `v*` convention:

```bash
git tag v0.1.0

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are not required. For now keep it simple with main branch updates. When updates, rerun the actions to create zip files.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to confirm the intended distribution: after changes are merged into main, should the GitHub Action generate the skill ZIPs as downloadable workflow artifacts, with users downloading the skill-packages artifact from the Actions run?

Comment thread docs/installation.md Outdated

## MCP prerequisites

MCP connections and credentials are configured outside this repository.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not really, provide a .mcp.json file.
Check what is the ideal configuration for other IDEs like Cursor/Antigravity.

Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
removing version tags and including agents/
Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/validate-skills.yml:
- Around line 49-74: Replace the three direct artifact uploads in
.github/workflows/validate-skills.yml (lines 49-74) with one archived upload
named skill-packages that includes all dist/*.zip files, while preserving the
existing event condition, missing-file failure behavior, and retention period.
The README.md references at lines 51-70 and 126-128 and docs/installation.md
references at lines 50-68 and 115-119 require no direct changes because they
document the expected skill-packages artifact.

In `@README.md`:
- Around line 3-6: Update the README repository description to remove the claim
that project discovery bridges are generated, and state that maintainers add and
commit those bridge files while only installable packages are generated from the
source directories.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: b8779a6c-f00b-402d-bbdc-4c7216ab6600

📥 Commits

Reviewing files that changed from the base of the PR and between 4a68802 and 845715f.

📒 Files selected for processing (12)
  • .agents/skills/create-brd/SKILL.md
  • .agents/skills/create-product-backlog/SKILL.md
  • .agents/skills/create-technical-design/SKILL.md
  • .github/workflows/validate-skills.yml
  • README.md
  • docs/installation.md
  • scripts/package-skills.py
  • scripts/validate-skills.py
  • skills/create-brd/README.md
  • skills/create-product-backlog/README.md
  • skills/create-technical-design/README.md
  • tests/test_skill_distribution.py
🚧 Files skipped from review as they are similar to previous changes (4)
  • skills/create-product-backlog/README.md
  • skills/create-technical-design/README.md
  • skills/create-brd/README.md
  • scripts/package-skills.py

Comment thread .github/workflows/validate-skills.yml
Comment thread README.md
Comment on lines +3 to +6
This repository contains reusable agent skills for the AMRIT software
development lifecycle. The source of truth is [`skills/`](skills/); project
discovery bridges and installable packages are generated from those same
source directories.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Do not state that project bridges are generated.

The repository requires maintainers to add and commit bridge files. Validation checks bridge files, but it does not generate them. State that only installable packages are generated.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 3 - 6, Update the README repository description to
remove the claim that project discovery bridges are generated, and state that
maintainers add and commit those bridge files while only installable packages
are generated from the source directories.

Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
…de and cursor

Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.agents/mcp_config.json:
- Around line 8-42: Remove the environment-specific MCP server configurations
from .agents/mcp_config.json lines 8-42, .cursor/mcp.json lines 8-42, and
.mcp.json lines 8-42. Document the required server names and user-managed setup
steps in the appropriate installation documentation, keeping endpoints and
credentials outside the repository.
- Around line 6-41: Pin every mcp-remote invocation to the approved reviewed
version instead of using the unversioned package. Apply this change to all MCP
client entries in .agents/mcp_config.json, .cursor/mcp.json, and .mcp.json at
lines 6-41, preserving their existing commands, arguments, and headers.

In `@skills/create-brd/README.md`:
- Around line 47-51: Replace the temporary Actions artifact installation
instructions with direct links to the latest GitHub Release assets: update
skills/create-brd/README.md lines 47-51 to use
/releases/latest/download/create-brd.zip,
skills/create-product-backlog/README.md lines 48-53 to use
/releases/latest/download/create-product-backlog.zip, and
skills/create-technical-design/README.md lines 56-61 to use
/releases/latest/download/create-technical-design.zip. Keep Actions artifacts
documented only for temporary CI downloads.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0470fd10-df8c-48e0-8c33-9bb4fbb58b67

📥 Commits

Reviewing files that changed from the base of the PR and between 845715f and 0ee39bb.

📒 Files selected for processing (8)
  • .agents/mcp_config.json
  • .cursor/mcp.json
  • .mcp.json
  • README.md
  • docs/installation.md
  • skills/create-brd/README.md
  • skills/create-product-backlog/README.md
  • skills/create-technical-design/README.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • README.md
  • docs/installation.md

Comment thread .agents/mcp_config.json
Comment on lines +6 to +41
"-y",
"mcp-remote",
"https://amrittools.piramalswasthya.org/atlassian/mcp",
"--header",
"X-Atlassian-Jira-Url: https://support.piramalfoundation.org/jira",
"--header",
"X-Atlassian-Jira-Personal-Token: <put your token here>",
"--header",
"X-Atlassian-Confluence-Url: https://pmp.piramalswasthya.org/confluence",
"--header",
"X-Atlassian-Confluence-Personal-Token: <put your token here>"
]
},
"deepwiki": {
"command": "npx.cmd",
"args": [
"-y",
"mcp-remote",
"https://mcp.deepwiki.com/mcp"
]
},
"mcp-openproject": {
"command": "npx.cmd",
"args": [
"-y",
"mcp-remote",
"https://amrittools.piramalswasthya.org/openproject/mcp",
"--header",
"Authorization: Bearer <put your token here>"
]
},
"graphify-agent": {
"command": "npx.cmd",
"args": [
"-y",
"mcp-remote",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

echo "== files =="
git ls-files | rg '(^|/)\.mcp.*json$|(^|/)\.cursor/mcp\.json$|(^|/)\.agents/mcp_config\.json$' || true

echo "== relevant contents =="
for f in .agents/mcp_config.json .cursor/mcp.json .mcp.json; do
  if [ -f "$f" ]; then
    echo "--- $f ---"
    cat -n "$f" | sed -n '1,120p'
  fi
done

echo "== npx mcp-remote usages and package references =="
rg -n '"(command|url|package|script|pkg)"|[""'][^"'"'"']npx\.?cmd[^"'"'"']*mcp-remote|mcp-remote' . --glob '!node_modules' --glob '!dist' --glob '!build' || true

echo "== package info from npm registry (read-only metadata checks) =="
python3 - <<'PY'
import json, subprocess
for pkg in ["mcp-remote"]:
    try:
        out = subprocess.run(["npm", "view", pkg, "name", "version", "bin", "repository", "homepage", "--json"], text=True, timeout=20, capture_output=True)
        print(pkg)
        if out.returncode == 0:
            data=json.loads(out.stdout)
            print(json.dumps(data, indent=2, sort_keys=True))
        else:
            print("npm_exit", out.returncode)
            print(out.stderr)
    except Exception as e:
        print("error", pkg, type(e).__name__, e)
PY

Repository: PSMRI/AMRIT-AI-Agentic-Framework

Length of output: 1953


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

echo "== exact npx command constructions in MCP config files =="
python3 - <<'PY'
import json
files = [".agents/mcp_config.json", ".cursor/mcp.json", ".mcp.json"]
needles = ["mcp-remote"]
for path in files:
    print(f"--- {path} ---")
    try:
        data=json.load(open(path))
    except Exception as e:
        print("parse_error", e)
        continue
    if "mcpServers" in data:
        for name, surl in data["mcpServers"].items():
            cfg=surl.get("command") or surl.get("url") or surl.get("pkg") or ""
            args=surl.get("args") or surl.get("args") or []
            tokens = [cfg] + [str(a) for a in args] if isinstance(args, list) else []
            if any(n in " ".join(tokens) for n in needles):
                print(name, {"command_or_url": cfg, "args": args})
PY

Repository: PSMRI/AMRIT-AI-Agentic-Framework

Length of output: 1953


🌐 Web query:

mcp-remote npm package -y --package latest latest package semantics mcp-remote docs

💡 Result:

The mcp-remote package is a command-line tool that acts as a proxy for the Model Context Protocol (MCP), enabling local, stdio-only MCP clients (such as Claude Desktop, Cursor, and Windsurf) to connect to remote, authenticated MCP servers [1][2][3]. Package Status and Fork: The original package, geelen/mcp-remote, is currently unmaintained [4]. As of May 2026, the project is actively maintained under the @automattic scope [5][4]. Users are advised to use the @automattic/mcp-remote package for the latest updates and security patches [5][4]. Core Functionality: - Stdio-to-Remote Proxying: It bridges local stdio-based communication with remote MCP servers running over HTTP or Server-Sent Events (SSE) [3][6]. - OAuth 2.0 Bridge: It automatically manages OAuth 2.0 flows (including PKCE) on behalf of the MCP client, handling browser-based user consent and token storage [3][6]. - Transport Strategies: It supports configurable transport strategies (http-first, sse-first, http-only, sse-only) to control how it connects to the remote server [7][8]. - Multi-instance Coordination: It includes mechanisms to manage authentication state across multiple instances to avoid redundant login flows [6]. Usage: The package is typically executed via npx as part of an MCP client's server configuration [1]. Example configuration: { "mcpServers": { "remote-example": { "command": "npx", "args": [ "@automattic/mcp-remote", "https://remote.mcp.server/sse" ] } } } Security Note: A critical security vulnerability, CVE-2025-6514 (OS command injection), was disclosed in June 2025 affecting versions prior to 0.1.16 [3]. Users should ensure they are using updated versions (v0.1.16 or later) and exercise caution regarding untrusted URLs [3]. Comprehensive documentation, including command-line references and API guides, is available via community resources like DeepWiki [2][7][9].

Citations:


Pin mcp-remote to an approved version.

Each MCP client entry runs bare npx -y mcp-remote ..., which installs and executes the package at runtime without a lockfile. Replace bare mcp-remote with a reviewed @<version> package in .agents/mcp_config.json, .cursor/mcp.json, and .mcp.json.

📍 Affects 3 files
  • .agents/mcp_config.json#L6-L41 (this comment)
  • .cursor/mcp.json#L6-L41
  • .mcp.json#L6-L41
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.agents/mcp_config.json around lines 6 - 41, Pin every mcp-remote invocation
to the approved reviewed version instead of using the unversioned package. Apply
this change to all MCP client entries in .agents/mcp_config.json,
.cursor/mcp.json, and .mcp.json at lines 6-41, preserving their existing
commands, arguments, and headers.

Comment thread .agents/mcp_config.json
Comment on lines +8 to +42
"https://amrittools.piramalswasthya.org/atlassian/mcp",
"--header",
"X-Atlassian-Jira-Url: https://support.piramalfoundation.org/jira",
"--header",
"X-Atlassian-Jira-Personal-Token: <put your token here>",
"--header",
"X-Atlassian-Confluence-Url: https://pmp.piramalswasthya.org/confluence",
"--header",
"X-Atlassian-Confluence-Personal-Token: <put your token here>"
]
},
"deepwiki": {
"command": "npx.cmd",
"args": [
"-y",
"mcp-remote",
"https://mcp.deepwiki.com/mcp"
]
},
"mcp-openproject": {
"command": "npx.cmd",
"args": [
"-y",
"mcp-remote",
"https://amrittools.piramalswasthya.org/openproject/mcp",
"--header",
"Authorization: Bearer <put your token here>"
]
},
"graphify-agent": {
"command": "npx.cmd",
"args": [
"-y",
"mcp-remote",
"https://amrittools.piramalswasthya.org/amrit/mcp"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Keep environment-specific MCP endpoints outside the repository.

These files commit internal service URLs and select one AMRIT environment for every user. This conflicts with docs/installation.md lines 123-137, which requires MCP connections and credentials to be configured outside this repository.

  • .agents/mcp_config.json#L8-L42: remove the environment-specific server configuration from the tracked project bridge.
  • .cursor/mcp.json#L8-L42: remove the environment-specific server configuration from the tracked project bridge.
  • .mcp.json#L8-L42: remove the environment-specific server configuration from the tracked project bridge.

Document the required server names and user-managed configuration steps instead.

📍 Affects 3 files
  • .agents/mcp_config.json#L8-L42 (this comment)
  • .cursor/mcp.json#L8-L42
  • .mcp.json#L8-L42
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.agents/mcp_config.json around lines 8 - 42, Remove the environment-specific
MCP server configurations from .agents/mcp_config.json lines 8-42,
.cursor/mcp.json lines 8-42, and .mcp.json lines 8-42. Document the required
server names and user-managed setup steps in the appropriate installation
documentation, keeping endpoints and credentials outside the repository.

Comment thread skills/create-brd/README.md
Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
…ira and openproject

Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>
Signed-off-by: Somsubhra Nandi <nruma325@gmail.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
README.md (1)

166-168: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Align package installation documentation with GitHub Releases.

The PR objective states that v* tags publish each ZIP as a GitHub Release asset. The changed documentation still says releases are unused and directs users to Actions artifacts. Use the stable /releases/latest/download/<skill>.zip asset path for installation. Keep Actions artifacts only for temporary CI downloads, and document the actual tag and branch behavior.

  • README.md#L166-L168: Replace the statement that releases and version tags are unused with the GitHub Release distribution model.
  • README.md#L140-L141: Point answer-codebase-questions.zip to the release asset instead of the Actions artifact flow.
  • README.md#L198-L198: Describe release publication and distinguish it from temporary workflow artifacts.
  • docs/installation.md#L108-L109: Update the new package installation path to the GitHub Release asset.
  • docs/installation.md#L160-L160: Document the release workflow instead of artifact-only publication.
  • skills/answer-codebase-questions/README.md#L43-L47: Replace the Actions-run download instructions with the latest Release asset URL.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 166 - 168, Update the package installation
documentation to use the stable GitHub Release asset path
`/releases/latest/download/<skill>.zip`: in README.md lines 140-141 and
docs/installation.md lines 108-109, replace Actions artifact downloads; in
skills/answer-codebase-questions/README.md lines 43-47, replace run-specific
download instructions. In README.md lines 166-168 and 198, document that v* tags
publish each ZIP as a GitHub Release asset, state the applicable tag and branch
behavior, and distinguish stable release downloads from temporary Actions
artifacts.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@README.md`:
- Around line 166-168: Update the package installation documentation to use the
stable GitHub Release asset path `/releases/latest/download/<skill>.zip`: in
README.md lines 140-141 and docs/installation.md lines 108-109, replace Actions
artifact downloads; in skills/answer-codebase-questions/README.md lines 43-47,
replace run-specific download instructions. In README.md lines 166-168 and 198,
document that v* tags publish each ZIP as a GitHub Release asset, state the
applicable tag and branch behavior, and distinguish stable release downloads
from temporary Actions artifacts.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 9a28811f-0172-4f6a-a7c4-a7618cc13004

📥 Commits

Reviewing files that changed from the base of the PR and between 0ee39bb and 0f6bc9a.

📒 Files selected for processing (12)
  • .agents/skills/answer-codebase-questions/SKILL.md
  • .claude/skills/answer-codebase-questions/SKILL.md
  • .github/workflows/validate-skills.yml
  • .gitignore
  • README.md
  • docs/installation.md
  • docs/lifecycle-mapping.md
  • skills/answer-codebase-questions/README.md
  • skills/answer-codebase-questions/SKILL.md
  • skills/create-brd/README.md
  • skills/create-product-backlog/README.md
  • skills/create-technical-design/README.md
🚧 Files skipped from review as they are similar to previous changes (3)
  • .github/workflows/validate-skills.yml
  • .gitignore
  • skills/create-technical-design/README.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants